﻿namespace com.huawei.esdk.tp.professional.eSDKTPProfessionalConfMgr
{
    using System;
    using System.Web.Services;
    using System.Diagnostics;
    using System.Web.Services.Protocols;
    using System.ComponentModel;
    using System.Xml.Serialization;
    using com.huawei.esdk.tp.professional.DataType;


    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "TPProfessionalConfMgrServiceSoapBinding", Namespace = "http://smc.huawei.com/")]
    public partial class TPProfessionalConfMgrService : System.Web.Services.Protocols.SoapHttpClientProtocol
    {

        private System.Threading.SendOrPostCallback synchSiteStatusExOperationCompleted;

        private System.Threading.SendOrPostCallback queryConferencesStatusExOperationCompleted;

        private System.Threading.SendOrPostCallback queryMultiPointCDRExOperationCompleted;

        private System.Threading.SendOrPostCallback editScheduledConfExOperationCompleted;

        private System.Threading.SendOrPostCallback getContinuousPresenceInfoExOperationCompleted;

        private System.Threading.SendOrPostCallback querySitesExOperationCompleted;

        private System.Threading.SendOrPostCallback queryConfSiteMCUExOperationCompleted;

        private System.Threading.SendOrPostCallback editRecurrenceConferenceExOperationCompleted;

        private System.Threading.SendOrPostCallback queryAdhocConfFreeBusyExOperationCompleted;

        private System.Threading.SendOrPostCallback querySiteStatusExOperationCompleted;

        private System.Threading.SendOrPostCallback queryPointToPointCDRExOperationCompleted;

        private System.Threading.SendOrPostCallback addSiteToConfExOperationCompleted;

        private System.Threading.SendOrPostCallback getContinuousPresenceParamExOperationCompleted;

        private System.Threading.SendOrPostCallback queryConfSitesStatusExOperationCompleted;

        private System.Threading.SendOrPostCallback prolongScheduledConfExOperationCompleted;

        private System.Threading.SendOrPostCallback delScheduledConfExOperationCompleted;

        private System.Threading.SendOrPostCallback synchAdhocConfFreeBusyExOperationCompleted;

        private System.Threading.SendOrPostCallback scheduleConfExOperationCompleted;

        private System.Threading.SendOrPostCallback queryAdhocConferencesExOperationCompleted;

        private System.Threading.SendOrPostCallback disconnectSitesExOperationCompleted;

        private System.Threading.SendOrPostCallback connectSitesExOperationCompleted;

        private System.Threading.SendOrPostCallback delSiteFromConfExOperationCompleted;

        private System.Threading.SendOrPostCallback scheduleRecurrenceConferenceExOperationCompleted;

        //private bool useDefaultCredentialsSetExplicitly;

        /// <remarks/>
        public TPProfessionalConfMgrService()
        {
            //this.Url = global::esdk_tp_native_professional_cs.Properties.Settings.Default.esdk_tp_native_professional_cs_tpProfessionalConfMgr_TPProfessionalConfMgrService;
            //if ((this.IsLocalFileSystemWebService(this.Url) == true))
            //{
            //    this.UseDefaultCredentials = true;
            //    this.useDefaultCredentialsSetExplicitly = false;
            //}
            //else
            //{
            //    this.useDefaultCredentialsSetExplicitly = true;
            //}
            this.Url = "https://localhost:18543/";
        }

        public TPProfessionalConfMgrService(string url)
        {
            System.Net.ServicePointManager.CertificatePolicy = new com.huawei.esdk.tp.professional.Utils.MyCertificatePolicy();
            this.Url = url;
        }

        //public new string Url
        //{
        //    get
        //    {
        //        return base.Url;
        //    }
        //    set
        //    {
        //        if ((((this.IsLocalFileSystemWebService(base.Url) == true)
        //                    && (this.useDefaultCredentialsSetExplicitly == false))
        //                    && (this.IsLocalFileSystemWebService(value) == false)))
        //        {
        //            base.UseDefaultCredentials = false;
        //        }
        //        base.Url = value;
        //    }
        //}

        //public new bool UseDefaultCredentials
        //{
        //    get
        //    {
        //        return base.UseDefaultCredentials;
        //    }
        //    set
        //    {
        //        base.UseDefaultCredentials = value;
        //        this.useDefaultCredentialsSetExplicitly = true;
        //    }
        //}

        /// <remarks/>
        public event synchSiteStatusExCompletedEventHandler synchSiteStatusExCompleted;

        /// <remarks/>
        public event queryConferencesStatusExCompletedEventHandler queryConferencesStatusExCompleted;

        /// <remarks/>
        public event queryMultiPointCDRExCompletedEventHandler queryMultiPointCDRExCompleted;

        /// <remarks/>
        public event editScheduledConfExCompletedEventHandler editScheduledConfExCompleted;

        /// <remarks/>
        public event getContinuousPresenceInfoExCompletedEventHandler getContinuousPresenceInfoExCompleted;

        /// <remarks/>
        public event querySitesExCompletedEventHandler querySitesExCompleted;

        /// <remarks/>
        public event queryConfSiteMCUExCompletedEventHandler queryConfSiteMCUExCompleted;

        /// <remarks/>
        public event editRecurrenceConferenceExCompletedEventHandler editRecurrenceConferenceExCompleted;

        /// <remarks/>
        public event queryAdhocConfFreeBusyExCompletedEventHandler queryAdhocConfFreeBusyExCompleted;

        /// <remarks/>
        public event querySiteStatusExCompletedEventHandler querySiteStatusExCompleted;

        /// <remarks/>
        public event queryPointToPointCDRExCompletedEventHandler queryPointToPointCDRExCompleted;

        /// <remarks/>
        public event addSiteToConfExCompletedEventHandler addSiteToConfExCompleted;

        /// <remarks/>
        public event getContinuousPresenceParamExCompletedEventHandler getContinuousPresenceParamExCompleted;

        /// <remarks/>
        public event queryConfSitesStatusExCompletedEventHandler queryConfSitesStatusExCompleted;

        /// <remarks/>
        public event prolongScheduledConfExCompletedEventHandler prolongScheduledConfExCompleted;

        /// <remarks/>
        public event delScheduledConfExCompletedEventHandler delScheduledConfExCompleted;

        /// <remarks/>
        public event synchAdhocConfFreeBusyExCompletedEventHandler synchAdhocConfFreeBusyExCompleted;

        /// <remarks/>
        public event scheduleConfExCompletedEventHandler scheduleConfExCompleted;

        /// <remarks/>
        public event queryAdhocConferencesExCompletedEventHandler queryAdhocConferencesExCompleted;

        /// <remarks/>
        public event disconnectSitesExCompletedEventHandler disconnectSitesExCompleted;

        /// <remarks/>
        public event connectSitesExCompletedEventHandler connectSitesExCompleted;

        /// <remarks/>
        public event delSiteFromConfExCompletedEventHandler delSiteFromConfExCompleted;

        /// <remarks/>
        public event scheduleRecurrenceConferenceExCompletedEventHandler scheduleRecurrenceConferenceExCompleted;

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/synchSiteStatusEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int synchSiteStatusEx([System.Xml.Serialization.XmlElementAttribute("siteUris", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] siteUris, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.DateTime beginTime, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified, DataType = "duration")] string duration, [System.Xml.Serialization.XmlElementAttribute("siteFreeBusyStates", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out SiteFreeBusyStatesEx[] siteFreeBusyStates)
        {
            object[] results = this.Invoke("synchSiteStatusEx", new object[] {
                        siteUris,
                        beginTime,
                        duration});
            siteFreeBusyStates = ((SiteFreeBusyStatesEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void synchSiteStatusExAsync(string[] siteUris, System.DateTime beginTime, string duration)
        {
            this.synchSiteStatusExAsync(siteUris, beginTime, duration, null);
        }

        /// <remarks/>
        public void synchSiteStatusExAsync(string[] siteUris, System.DateTime beginTime, string duration, object userState)
        {
            if ((this.synchSiteStatusExOperationCompleted == null))
            {
                this.synchSiteStatusExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsynchSiteStatusExOperationCompleted);
            }
            this.InvokeAsync("synchSiteStatusEx", new object[] {
                        siteUris,
                        beginTime,
                        duration}, this.synchSiteStatusExOperationCompleted, userState);
        }

        private void OnsynchSiteStatusExOperationCompleted(object arg)
        {
            if ((this.synchSiteStatusExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.synchSiteStatusExCompleted(this, new synchSiteStatusExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/queryConferencesStatusEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int queryConferencesStatusEx(
            [System.Xml.Serialization.XmlElementAttribute("confIds", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] string[] confIds, 
            [System.Xml.Serialization.XmlElementAttribute("conferenceStatuses", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out ConferenceStatusEx[] conferenceStatuses)
        {
            object[] results = this.Invoke("queryConferencesStatusEx", new object[] {
                        confIds});
            conferenceStatuses = ((ConferenceStatusEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void queryConferencesStatusExAsync(string[] confIds)
        {
            this.queryConferencesStatusExAsync(confIds, null);
        }

        /// <remarks/>
        public void queryConferencesStatusExAsync(string[] confIds, object userState)
        {
            if ((this.queryConferencesStatusExOperationCompleted == null))
            {
                this.queryConferencesStatusExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnqueryConferencesStatusExOperationCompleted);
            }
            this.InvokeAsync("queryConferencesStatusEx", new object[] {
                        confIds}, this.queryConferencesStatusExOperationCompleted, userState);
        }

        private void OnqueryConferencesStatusExOperationCompleted(object arg)
        {
            if ((this.queryConferencesStatusExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.queryConferencesStatusExCompleted(this, new queryConferencesStatusExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/queryMultiPointCDREx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int queryMultiPointCDREx(
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] MultiPointCDRQueryConfigEx queryConfig, 
            [System.Xml.Serialization.XmlElementAttribute("cdr", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out MultiPointCDREx[] cdr, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out PagesInfoEx pageInfo)
        {
            object[] results = this.Invoke("queryMultiPointCDREx", new object[] {
                        queryConfig});
            cdr = ((MultiPointCDREx[])(results[1]));
            pageInfo = ((PagesInfoEx)(results[2]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void queryMultiPointCDRExAsync(MultiPointCDRQueryConfigEx queryConfig)
        {
            this.queryMultiPointCDRExAsync(queryConfig, null);
        }

        /// <remarks/>
        public void queryMultiPointCDRExAsync(MultiPointCDRQueryConfigEx queryConfig, object userState)
        {
            if ((this.queryMultiPointCDRExOperationCompleted == null))
            {
                this.queryMultiPointCDRExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnqueryMultiPointCDRExOperationCompleted);
            }
            this.InvokeAsync("queryMultiPointCDREx", new object[] {
                        queryConfig}, this.queryMultiPointCDRExOperationCompleted, userState);
        }

        private void OnqueryMultiPointCDRExOperationCompleted(object arg)
        {
            if ((this.queryMultiPointCDRExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.queryMultiPointCDRExCompleted(this, new queryMultiPointCDRExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/editScheduledConfEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int editScheduledConfEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] ConferenceInfoEx editConf, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out ConferenceInfoEx conferenceInfo)
        {
            object[] results = this.Invoke("editScheduledConfEx", new object[] {
                        editConf});
            conferenceInfo = ((ConferenceInfoEx)(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void editScheduledConfExAsync(ConferenceInfoEx editConf)
        {
            this.editScheduledConfExAsync(editConf, null);
        }

        /// <remarks/>
        public void editScheduledConfExAsync(ConferenceInfoEx editConf, object userState)
        {
            if ((this.editScheduledConfExOperationCompleted == null))
            {
                this.editScheduledConfExOperationCompleted = new System.Threading.SendOrPostCallback(this.OneditScheduledConfExOperationCompleted);
            }
            this.InvokeAsync("editScheduledConfEx", new object[] {
                        editConf}, this.editScheduledConfExOperationCompleted, userState);
        }

        private void OneditScheduledConfExOperationCompleted(object arg)
        {
            if ((this.editScheduledConfExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.editScheduledConfExCompleted(this, new editScheduledConfExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/getContinuousPresenceInfoEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int getContinuousPresenceInfoEx(
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId,
            [System.Xml.Serialization.XmlElementAttribute("targets", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out string[] targets,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out int cpResource,
            [System.Xml.Serialization.XmlElementAttribute("supportCPModes", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out int[] supportCPModes)
        {
            object[] results = this.Invoke("getContinuousPresenceInfoEx", new object[] {
                        confId});
            targets = ((string[])(results[1]));
            cpResource = ((int)(results[2]));
            supportCPModes = ((int[])(results[3]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void getContinuousPresenceInfoExAsync(string confId)
        {
            this.getContinuousPresenceInfoExAsync(confId, null);
        }

        /// <remarks/>
        public void getContinuousPresenceInfoExAsync(string confId, object userState)
        {
            if ((this.getContinuousPresenceInfoExOperationCompleted == null))
            {
                this.getContinuousPresenceInfoExOperationCompleted = new System.Threading.SendOrPostCallback(this.OngetContinuousPresenceInfoExOperationCompleted);
            }
            this.InvokeAsync("getContinuousPresenceInfoEx", new object[] {
                        confId}, this.getContinuousPresenceInfoExOperationCompleted, userState);
        }

        private void OngetContinuousPresenceInfoExOperationCompleted(object arg)
        {
            if ((this.getContinuousPresenceInfoExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.getContinuousPresenceInfoExCompleted(this, new getContinuousPresenceInfoExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/querySitesEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int querySitesEx([System.Xml.Serialization.XmlElementAttribute("siteInfos", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out SiteInfoEx[] siteInfos)
        {
            object[] results = this.Invoke("querySitesEx", new object[0]);
            siteInfos = ((SiteInfoEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void querySitesExAsync()
        {
            this.querySitesExAsync(null);
        }

        /// <remarks/>
        public void querySitesExAsync(object userState)
        {
            if ((this.querySitesExOperationCompleted == null))
            {
                this.querySitesExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnquerySitesExOperationCompleted);
            }
            this.InvokeAsync("querySitesEx", new object[0], this.querySitesExOperationCompleted, userState);
        }

        private void OnquerySitesExOperationCompleted(object arg)
        {
            if ((this.querySitesExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.querySitesExCompleted(this, new querySitesExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/queryConfSiteMCUEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int queryConfSiteMCUEx(
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId,
            [System.Xml.Serialization.XmlElementAttribute("siteUris", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] string[] siteUris,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.Nullable<System.DateTime> beginTime,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlIgnoreAttribute()] bool beginTimeSpecified,
              [System.Xml.Serialization.XmlElementAttribute("mcus", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out SiteMCUEx[] mcus)
        {
            object[] results = this.Invoke("queryConfSiteMCUEx", new object[] {
                        confId,
                        siteUris,
                        beginTime,
                        beginTimeSpecified});
            mcus = ((SiteMCUEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void queryConfSiteMCUExAsync(string confId, string[] siteUris, System.DateTime beginTime, bool beginTimeSpecified)
        {
            this.queryConfSiteMCUExAsync(confId, siteUris, beginTime, beginTimeSpecified, null);
        }

        /// <remarks/>
        public void queryConfSiteMCUExAsync(string confId, string[] siteUris, System.DateTime beginTime, bool beginTimeSpecified, object userState)
        {
            if ((this.queryConfSiteMCUExOperationCompleted == null))
            {
                this.queryConfSiteMCUExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnqueryConfSiteMCUExOperationCompleted);
            }
            this.InvokeAsync("queryConfSiteMCUEx", new object[] {
                        confId,
                        siteUris,
                        beginTime,
                        beginTimeSpecified}, this.queryConfSiteMCUExOperationCompleted, userState);
        }

        private void OnqueryConfSiteMCUExOperationCompleted(object arg)
        {
            if ((this.queryConfSiteMCUExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.queryConfSiteMCUExCompleted(this, new queryConfSiteMCUExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/editRecurrenceConferenceEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int editRecurrenceConferenceEx(
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] RecurrenceConfInfoEx editConf,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.Nullable<System.DateTime> beginTime, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlIgnoreAttribute()] bool beginTimeSpecified, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out RecurrenceConfInfoEx recurrenceConfInfo)
        {
            object[] results = this.Invoke("editRecurrenceConferenceEx", new object[] {
                        editConf,
                        beginTime,
                        beginTimeSpecified});
            recurrenceConfInfo = ((RecurrenceConfInfoEx)(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void editRecurrenceConferenceExAsync(RecurrenceConfInfoEx editConf, System.DateTime beginTime, bool beginTimeSpecified)
        {
            this.editRecurrenceConferenceExAsync(editConf, beginTime, beginTimeSpecified, null);
        }

        /// <remarks/>
        public void editRecurrenceConferenceExAsync(RecurrenceConfInfoEx editConf, System.DateTime beginTime, bool beginTimeSpecified, object userState)
        {
            if ((this.editRecurrenceConferenceExOperationCompleted == null))
            {
                this.editRecurrenceConferenceExOperationCompleted = new System.Threading.SendOrPostCallback(this.OneditRecurrenceConferenceExOperationCompleted);
            }
            this.InvokeAsync("editRecurrenceConferenceEx", new object[] {
                        editConf,
                        beginTime,
                        beginTimeSpecified}, this.editRecurrenceConferenceExOperationCompleted, userState);
        }

        private void OneditRecurrenceConferenceExOperationCompleted(object arg)
        {
            if ((this.editRecurrenceConferenceExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.editRecurrenceConferenceExCompleted(this, new editRecurrenceConferenceExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/queryAdhocConfFreeBusyEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int queryAdhocConfFreeBusyEx([System.Xml.Serialization.XmlElementAttribute("confAccessCodes", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] confAccessCodes, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.DateTime beginTime, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified, DataType = "duration")] string duration, [System.Xml.Serialization.XmlElementAttribute("freebusy", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out AdhocConfFreeBusyStateEx[] freebusy)
        {
            object[] results = this.Invoke("queryAdhocConfFreeBusyEx", new object[] {
                        confAccessCodes,
                        beginTime,
                        duration});
            freebusy = ((AdhocConfFreeBusyStateEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void queryAdhocConfFreeBusyExAsync(string[] confAccessCodes, System.DateTime beginTime, string duration)
        {
            this.queryAdhocConfFreeBusyExAsync(confAccessCodes, beginTime, duration, null);
        }

        /// <remarks/>
        public void queryAdhocConfFreeBusyExAsync(string[] confAccessCodes, System.DateTime beginTime, string duration, object userState)
        {
            if ((this.queryAdhocConfFreeBusyExOperationCompleted == null))
            {
                this.queryAdhocConfFreeBusyExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnqueryAdhocConfFreeBusyExOperationCompleted);
            }
            this.InvokeAsync("queryAdhocConfFreeBusyEx", new object[] {
                        confAccessCodes,
                        beginTime,
                        duration}, this.queryAdhocConfFreeBusyExOperationCompleted, userState);
        }

        private void OnqueryAdhocConfFreeBusyExOperationCompleted(object arg)
        {
            if ((this.queryAdhocConfFreeBusyExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.queryAdhocConfFreeBusyExCompleted(this, new queryAdhocConfFreeBusyExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/querySiteStatusEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int querySiteStatusEx([System.Xml.Serialization.XmlElementAttribute("siteUris", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] siteUris, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.DateTime beginTime, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified, DataType = "duration")] string duration, [System.Xml.Serialization.XmlElementAttribute("siteFreeBusyStates", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out SiteFreeBusyStatesEx[] siteFreeBusyStates)
        {
            object[] results = this.Invoke("querySiteStatusEx", new object[] {
                        siteUris,
                        beginTime,
                        duration});
            siteFreeBusyStates = ((SiteFreeBusyStatesEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void querySiteStatusExAsync(string[] siteUris, System.DateTime beginTime, string duration)
        {
            this.querySiteStatusExAsync(siteUris, beginTime, duration, null);
        }

        /// <remarks/>
        public void querySiteStatusExAsync(string[] siteUris, System.DateTime beginTime, string duration, object userState)
        {
            if ((this.querySiteStatusExOperationCompleted == null))
            {
                this.querySiteStatusExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnquerySiteStatusExOperationCompleted);
            }
            this.InvokeAsync("querySiteStatusEx", new object[] {
                        siteUris,
                        beginTime,
                        duration}, this.querySiteStatusExOperationCompleted, userState);
        }

        private void OnquerySiteStatusExOperationCompleted(object arg)
        {
            if ((this.querySiteStatusExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.querySiteStatusExCompleted(this, new querySiteStatusExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/queryPointToPointCDREx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int queryPointToPointCDREx(
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] PointToPointCDRQueryConfigEx queryConfig, 
            [System.Xml.Serialization.XmlElementAttribute("cdr", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out PointToPointCDREx[] cdr, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out PagesInfoEx pageInfo)
        {
            object[] results = this.Invoke("queryPointToPointCDREx", new object[] {
                        queryConfig});
            cdr = ((PointToPointCDREx[])(results[1]));
            pageInfo = ((PagesInfoEx)(results[2]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void queryPointToPointCDRExAsync(PointToPointCDRQueryConfigEx queryConfig)
        {
            this.queryPointToPointCDRExAsync(queryConfig, null);
        }

        /// <remarks/>
        public void queryPointToPointCDRExAsync(PointToPointCDRQueryConfigEx queryConfig, object userState)
        {
            if ((this.queryPointToPointCDRExOperationCompleted == null))
            {
                this.queryPointToPointCDRExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnqueryPointToPointCDRExOperationCompleted);
            }
            this.InvokeAsync("queryPointToPointCDREx", new object[] {
                        queryConfig}, this.queryPointToPointCDRExOperationCompleted, userState);
        }

        private void OnqueryPointToPointCDRExOperationCompleted(object arg)
        {
            if ((this.queryPointToPointCDRExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.queryPointToPointCDRExCompleted(this, new queryPointToPointCDRExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/addSiteToConfEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int addSiteToConfEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] SiteInfoEx siteInfo,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.Nullable<System.DateTime> beginTime, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlIgnoreAttribute()] bool beginTimeSpecified, [System.Xml.Serialization.XmlElementAttribute("siteAccessInfos", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out SiteAccessInfoEx[] siteAccessInfos)
        {
            object[] results = this.Invoke("addSiteToConfEx", new object[] {
                        confId,
                        siteInfo,
                        beginTime,
                        beginTimeSpecified});
            siteAccessInfos = ((SiteAccessInfoEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void addSiteToConfExAsync(string confId, SiteInfoEx siteInfo, System.DateTime beginTime, bool beginTimeSpecified)
        {
            this.addSiteToConfExAsync(confId, siteInfo, beginTime, beginTimeSpecified, null);
        }

        /// <remarks/>
        public void addSiteToConfExAsync(string confId, SiteInfoEx siteInfo, System.DateTime beginTime, bool beginTimeSpecified, object userState)
        {
            if ((this.addSiteToConfExOperationCompleted == null))
            {
                this.addSiteToConfExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnaddSiteToConfExOperationCompleted);
            }
            this.InvokeAsync("addSiteToConfEx", new object[] {
                        confId,
                        siteInfo,
                        beginTime,
                        beginTimeSpecified}, this.addSiteToConfExOperationCompleted, userState);
        }

        private void OnaddSiteToConfExOperationCompleted(object arg)
        {
            if ((this.addSiteToConfExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.addSiteToConfExCompleted(this, new addSiteToConfExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/getContinuousPresenceParamEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int getContinuousPresenceParamEx(
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string target, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out int presenceMode, 
            [System.Xml.Serialization.XmlElementAttribute("subPics", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out string[] subPics)
        {
            object[] results = this.Invoke("getContinuousPresenceParamEx", new object[] {
                        confId,
                        target});
            presenceMode = ((int)(results[1]));
            subPics = ((string[])(results[2]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void getContinuousPresenceParamExAsync(string confId, string target)
        {
            this.getContinuousPresenceParamExAsync(confId, target, null);
        }

        /// <remarks/>
        public void getContinuousPresenceParamExAsync(string confId, string target, object userState)
        {
            if ((this.getContinuousPresenceParamExOperationCompleted == null))
            {
                this.getContinuousPresenceParamExOperationCompleted = new System.Threading.SendOrPostCallback(this.OngetContinuousPresenceParamExOperationCompleted);
            }
            this.InvokeAsync("getContinuousPresenceParamEx", new object[] {
                        confId,
                        target}, this.getContinuousPresenceParamExOperationCompleted, userState);
        }

        private void OngetContinuousPresenceParamExOperationCompleted(object arg)
        {
            if ((this.getContinuousPresenceParamExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.getContinuousPresenceParamExCompleted(this, new getContinuousPresenceParamExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/queryConfSitesStatusEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int queryConfSitesStatusEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId, [System.Xml.Serialization.XmlElementAttribute("siteUris", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] siteUris, [System.Xml.Serialization.XmlElementAttribute("siteStatuses", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out SiteStatusEx[] siteStatuses)
        {
            object[] results = this.Invoke("queryConfSitesStatusEx", new object[] {
                        confId,
                        siteUris});
            siteStatuses = ((SiteStatusEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void queryConfSitesStatusExAsync(string confId, string[] siteUris)
        {
            this.queryConfSitesStatusExAsync(confId, siteUris, null);
        }

        /// <remarks/>
        public void queryConfSitesStatusExAsync(string confId, string[] siteUris, object userState)
        {
            if ((this.queryConfSitesStatusExOperationCompleted == null))
            {
                this.queryConfSitesStatusExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnqueryConfSitesStatusExOperationCompleted);
            }
            this.InvokeAsync("queryConfSitesStatusEx", new object[] {
                        confId,
                        siteUris}, this.queryConfSitesStatusExOperationCompleted, userState);
        }

        private void OnqueryConfSitesStatusExOperationCompleted(object arg)
        {
            if ((this.queryConfSitesStatusExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.queryConfSitesStatusExCompleted(this, new queryConfSitesStatusExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/prolongScheduledConfEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int prolongScheduledConfEx(
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.Nullable<System.DateTime> beginDate, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlIgnoreAttribute()] bool beginDateSpecified, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified, DataType = "duration")] string prolongTime)
        {
            object[] results = this.Invoke("prolongScheduledConfEx", new object[] {
                        confId,
                        beginDate,
                        beginDateSpecified,
                        prolongTime});
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void prolongScheduledConfExAsync(string confId, System.DateTime beginDate, bool beginDateSpecified, string prolongTime)
        {
            this.prolongScheduledConfExAsync(confId, beginDate, beginDateSpecified, prolongTime, null);
        }

        /// <remarks/>
        public void prolongScheduledConfExAsync(string confId, System.DateTime beginDate, bool beginDateSpecified, string prolongTime, object userState)
        {
            if ((this.prolongScheduledConfExOperationCompleted == null))
            {
                this.prolongScheduledConfExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnprolongScheduledConfExOperationCompleted);
            }
            this.InvokeAsync("prolongScheduledConfEx", new object[] {
                        confId,
                        beginDate,
                        beginDateSpecified,
                        prolongTime}, this.prolongScheduledConfExOperationCompleted, userState);
        }

        private void OnprolongScheduledConfExOperationCompleted(object arg)
        {
            if ((this.prolongScheduledConfExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.prolongScheduledConfExCompleted(this, new prolongScheduledConfExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/delScheduledConfEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int delScheduledConfEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.Nullable<System.DateTime> beginTime, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlIgnoreAttribute()] bool beginTimeSpecified)
        {
            object[] results = this.Invoke("delScheduledConfEx", new object[] {
                        confId,
                        beginTime,
                        beginTimeSpecified});
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void delScheduledConfExAsync(string confId, System.DateTime beginTime, bool beginTimeSpecified)
        {
            this.delScheduledConfExAsync(confId, beginTime, beginTimeSpecified, null);
        }

        /// <remarks/>
        public void delScheduledConfExAsync(string confId, System.DateTime beginTime, bool beginTimeSpecified, object userState)
        {
            if ((this.delScheduledConfExOperationCompleted == null))
            {
                this.delScheduledConfExOperationCompleted = new System.Threading.SendOrPostCallback(this.OndelScheduledConfExOperationCompleted);
            }
            this.InvokeAsync("delScheduledConfEx", new object[] {
                        confId,
                        beginTime,
                        beginTimeSpecified}, this.delScheduledConfExOperationCompleted, userState);
        }

        private void OndelScheduledConfExOperationCompleted(object arg)
        {
            if ((this.delScheduledConfExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.delScheduledConfExCompleted(this, new delScheduledConfExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/synchAdhocConfFreeBusyEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int synchAdhocConfFreeBusyEx([System.Xml.Serialization.XmlElementAttribute("confAccessCodes", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] confAccessCodes, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.DateTime beginTime, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified, DataType = "duration")] string duration, [System.Xml.Serialization.XmlElementAttribute("freebusy", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out AdhocConfFreeBusyStateEx[] freebusy)
        {
            object[] results = this.Invoke("synchAdhocConfFreeBusyEx", new object[] {
                        confAccessCodes,
                        beginTime,
                        duration});
            freebusy = ((AdhocConfFreeBusyStateEx[])(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void synchAdhocConfFreeBusyExAsync(string[] confAccessCodes, System.DateTime beginTime, string duration)
        {
            this.synchAdhocConfFreeBusyExAsync(confAccessCodes, beginTime, duration, null);
        }

        /// <remarks/>
        public void synchAdhocConfFreeBusyExAsync(string[] confAccessCodes, System.DateTime beginTime, string duration, object userState)
        {
            if ((this.synchAdhocConfFreeBusyExOperationCompleted == null))
            {
                this.synchAdhocConfFreeBusyExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsynchAdhocConfFreeBusyExOperationCompleted);
            }
            this.InvokeAsync("synchAdhocConfFreeBusyEx", new object[] {
                        confAccessCodes,
                        beginTime,
                        duration}, this.synchAdhocConfFreeBusyExOperationCompleted, userState);
        }

        private void OnsynchAdhocConfFreeBusyExOperationCompleted(object arg)
        {
            if ((this.synchAdhocConfFreeBusyExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.synchAdhocConfFreeBusyExCompleted(this, new synchAdhocConfFreeBusyExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/scheduleConfEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int scheduleConfEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] ConferenceInfoEx scheduleConf, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out ConferenceInfoEx conferenceInfo)
        {
            object[] results = this.Invoke("scheduleConfEx", new object[] {
                        scheduleConf});
            conferenceInfo = ((ConferenceInfoEx)(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void scheduleConfExAsync(ConferenceInfoEx scheduleConf)
        {
            this.scheduleConfExAsync(scheduleConf, null);
        }

        /// <remarks/>
        public void scheduleConfExAsync(ConferenceInfoEx scheduleConf, object userState)
        {
            if ((this.scheduleConfExOperationCompleted == null))
            {
                this.scheduleConfExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnscheduleConfExOperationCompleted);
            }
            this.InvokeAsync("scheduleConfEx", new object[] {
                        scheduleConf}, this.scheduleConfExOperationCompleted, userState);
        }

        private void OnscheduleConfExOperationCompleted(object arg)
        {
            if ((this.scheduleConfExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.scheduleConfExCompleted(this, new scheduleConfExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/queryAdhocConferencesEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int queryAdhocConferencesEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] QueryConfigEx queryConfig, [System.Xml.Serialization.XmlElementAttribute("adhocConferences", Form = System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable = true)] out AdhocConferenceEx[] adhocConferences, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out PagesInfoEx pageInfo)
        {
            object[] results = this.Invoke("queryAdhocConferencesEx", new object[] {
                        queryConfig});
            adhocConferences = ((AdhocConferenceEx[])(results[1]));
            pageInfo = ((PagesInfoEx)(results[2]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void queryAdhocConferencesExAsync(QueryConfigEx queryConfig)
        {
            this.queryAdhocConferencesExAsync(queryConfig, null);
        }

        /// <remarks/>
        public void queryAdhocConferencesExAsync(QueryConfigEx queryConfig, object userState)
        {
            if ((this.queryAdhocConferencesExOperationCompleted == null))
            {
                this.queryAdhocConferencesExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnqueryAdhocConferencesExOperationCompleted);
            }
            this.InvokeAsync("queryAdhocConferencesEx", new object[] {
                        queryConfig}, this.queryAdhocConferencesExOperationCompleted, userState);
        }

        private void OnqueryAdhocConferencesExOperationCompleted(object arg)
        {
            if ((this.queryAdhocConferencesExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.queryAdhocConferencesExCompleted(this, new queryAdhocConferencesExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/disconnectSitesEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int disconnectSitesEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId, [System.Xml.Serialization.XmlElementAttribute("siteUris", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] siteUris)
        {
            object[] results = this.Invoke("disconnectSitesEx", new object[] {
                        confId,
                        siteUris});
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void disconnectSitesExAsync(string confId, string[] siteUris)
        {
            this.disconnectSitesExAsync(confId, siteUris, null);
        }

        /// <remarks/>
        public void disconnectSitesExAsync(string confId, string[] siteUris, object userState)
        {
            if ((this.disconnectSitesExOperationCompleted == null))
            {
                this.disconnectSitesExOperationCompleted = new System.Threading.SendOrPostCallback(this.OndisconnectSitesExOperationCompleted);
            }
            this.InvokeAsync("disconnectSitesEx", new object[] {
                        confId,
                        siteUris}, this.disconnectSitesExOperationCompleted, userState);
        }

        private void OndisconnectSitesExOperationCompleted(object arg)
        {
            if ((this.disconnectSitesExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.disconnectSitesExCompleted(this, new disconnectSitesExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/connectSitesEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int connectSitesEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId, [System.Xml.Serialization.XmlElementAttribute("siteUris", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string[] siteUris)
        {
            object[] results = this.Invoke("connectSitesEx", new object[] {
                        confId,
                        siteUris});
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void connectSitesExAsync(string confId, string[] siteUris)
        {
            this.connectSitesExAsync(confId, siteUris, null);
        }

        /// <remarks/>
        public void connectSitesExAsync(string confId, string[] siteUris, object userState)
        {
            if ((this.connectSitesExOperationCompleted == null))
            {
                this.connectSitesExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnconnectSitesExOperationCompleted);
            }
            this.InvokeAsync("connectSitesEx", new object[] {
                        confId,
                        siteUris}, this.connectSitesExOperationCompleted, userState);
        }

        private void OnconnectSitesExOperationCompleted(object arg)
        {
            if ((this.connectSitesExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.connectSitesExCompleted(this, new connectSitesExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/delSiteFromConfEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int delSiteFromConfEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string confId, 
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] string siteUri,
            [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] System.Nullable<System.DateTime> beginTime, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlIgnoreAttribute()] bool beginTimeSpecified)
        {
            object[] results = this.Invoke("delSiteFromConfEx", new object[] {
                        confId,
                        siteUri,
                        beginTime,
                        beginTimeSpecified});
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void delSiteFromConfExAsync(string confId, string siteUri, System.DateTime beginTime, bool beginTimeSpecified)
        {
            this.delSiteFromConfExAsync(confId, siteUri, beginTime, beginTimeSpecified, null);
        }

        /// <remarks/>
        public void delSiteFromConfExAsync(string confId, string siteUri, System.DateTime beginTime, bool beginTimeSpecified, object userState)
        {
            if ((this.delSiteFromConfExOperationCompleted == null))
            {
                this.delSiteFromConfExOperationCompleted = new System.Threading.SendOrPostCallback(this.OndelSiteFromConfExOperationCompleted);
            }
            this.InvokeAsync("delSiteFromConfEx", new object[] {
                        confId,
                        siteUri,
                        beginTime,
                        beginTimeSpecified}, this.delSiteFromConfExOperationCompleted, userState);
        }

        private void OndelSiteFromConfExOperationCompleted(object arg)
        {
            if ((this.delSiteFromConfExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.delSiteFromConfExCompleted(this, new delSiteFromConfExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smc.huawei.com/scheduleRecurrenceConferenceEx", RequestNamespace = "http://smc.huawei.com/", ResponseNamespace = "http://smc.huawei.com/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("resultCode", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
        public int scheduleRecurrenceConferenceEx([System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] RecurrenceConfInfoEx scheduleConf, [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)] out RecurrenceConfInfoEx recurrenceConfInfo)
        {
            object[] results = this.Invoke("scheduleRecurrenceConferenceEx", new object[] {
                        scheduleConf});
            recurrenceConfInfo = ((RecurrenceConfInfoEx)(results[1]));
            return ((int)(results[0]));
        }

        /// <remarks/>
        public void scheduleRecurrenceConferenceExAsync(RecurrenceConfInfoEx scheduleConf)
        {
            this.scheduleRecurrenceConferenceExAsync(scheduleConf, null);
        }

        /// <remarks/>
        public void scheduleRecurrenceConferenceExAsync(RecurrenceConfInfoEx scheduleConf, object userState)
        {
            if ((this.scheduleRecurrenceConferenceExOperationCompleted == null))
            {
                this.scheduleRecurrenceConferenceExOperationCompleted = new System.Threading.SendOrPostCallback(this.OnscheduleRecurrenceConferenceExOperationCompleted);
            }
            this.InvokeAsync("scheduleRecurrenceConferenceEx", new object[] {
                        scheduleConf}, this.scheduleRecurrenceConferenceExOperationCompleted, userState);
        }

        private void OnscheduleRecurrenceConferenceExOperationCompleted(object arg)
        {
            if ((this.scheduleRecurrenceConferenceExCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.scheduleRecurrenceConferenceExCompleted(this, new scheduleRecurrenceConferenceExCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }

        private bool IsLocalFileSystemWebService(string url)
        {
            if (((url == null)
                        || (url == string.Empty)))
            {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024)
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0)))
            {
                return true;
            }
            return false;
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void synchSiteStatusExCompletedEventHandler(object sender, synchSiteStatusExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class synchSiteStatusExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal synchSiteStatusExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public SiteFreeBusyStatesEx[] siteFreeBusyStates
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SiteFreeBusyStatesEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void queryConferencesStatusExCompletedEventHandler(object sender, queryConferencesStatusExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class queryConferencesStatusExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal queryConferencesStatusExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public ConferenceStatusEx[] conferenceStatuses
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ConferenceStatusEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void queryMultiPointCDRExCompletedEventHandler(object sender, queryMultiPointCDRExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class queryMultiPointCDRExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal queryMultiPointCDRExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public MultiPointCDREx[] cdr
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((MultiPointCDREx[])(this.results[1]));
            }
        }

        /// <remarks/>
        public PagesInfoEx pageInfo
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((PagesInfoEx)(this.results[2]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void editScheduledConfExCompletedEventHandler(object sender, editScheduledConfExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class editScheduledConfExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal editScheduledConfExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public ConferenceInfoEx conferenceInfo
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ConferenceInfoEx)(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void getContinuousPresenceInfoExCompletedEventHandler(object sender, getContinuousPresenceInfoExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class getContinuousPresenceInfoExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal getContinuousPresenceInfoExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public string[] targets
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[1]));
            }
        }

        /// <remarks/>
        public int cpResource
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[2]));
            }
        }

        /// <remarks/>
        public int[] supportCPModes
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int[])(this.results[3]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void querySitesExCompletedEventHandler(object sender, querySitesExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class querySitesExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal querySitesExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public SiteInfoEx[] siteInfos
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SiteInfoEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void queryConfSiteMCUExCompletedEventHandler(object sender, queryConfSiteMCUExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class queryConfSiteMCUExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal queryConfSiteMCUExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public SiteMCUEx[] mcus
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SiteMCUEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void editRecurrenceConferenceExCompletedEventHandler(object sender, editRecurrenceConferenceExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class editRecurrenceConferenceExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal editRecurrenceConferenceExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public RecurrenceConfInfoEx recurrenceConfInfo
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((RecurrenceConfInfoEx)(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void queryAdhocConfFreeBusyExCompletedEventHandler(object sender, queryAdhocConfFreeBusyExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class queryAdhocConfFreeBusyExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal queryAdhocConfFreeBusyExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public AdhocConfFreeBusyStateEx[] freebusy
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((AdhocConfFreeBusyStateEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void querySiteStatusExCompletedEventHandler(object sender, querySiteStatusExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class querySiteStatusExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal querySiteStatusExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public SiteFreeBusyStatesEx[] siteFreeBusyStates
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SiteFreeBusyStatesEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void queryPointToPointCDRExCompletedEventHandler(object sender, queryPointToPointCDRExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class queryPointToPointCDRExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal queryPointToPointCDRExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public PointToPointCDREx[] cdr
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((PointToPointCDREx[])(this.results[1]));
            }
        }

        /// <remarks/>
        public PagesInfoEx pageInfo
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((PagesInfoEx)(this.results[2]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void addSiteToConfExCompletedEventHandler(object sender, addSiteToConfExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class addSiteToConfExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal addSiteToConfExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public SiteAccessInfoEx[] siteAccessInfos
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SiteAccessInfoEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void getContinuousPresenceParamExCompletedEventHandler(object sender, getContinuousPresenceParamExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class getContinuousPresenceParamExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal getContinuousPresenceParamExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public int presenceMode
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[1]));
            }
        }

        /// <remarks/>
        public string[] subPics
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[2]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void queryConfSitesStatusExCompletedEventHandler(object sender, queryConfSitesStatusExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class queryConfSitesStatusExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal queryConfSitesStatusExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public SiteStatusEx[] siteStatuses
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SiteStatusEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void prolongScheduledConfExCompletedEventHandler(object sender, prolongScheduledConfExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class prolongScheduledConfExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal prolongScheduledConfExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void delScheduledConfExCompletedEventHandler(object sender, delScheduledConfExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class delScheduledConfExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal delScheduledConfExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void synchAdhocConfFreeBusyExCompletedEventHandler(object sender, synchAdhocConfFreeBusyExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class synchAdhocConfFreeBusyExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal synchAdhocConfFreeBusyExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public AdhocConfFreeBusyStateEx[] freebusy
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((AdhocConfFreeBusyStateEx[])(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void scheduleConfExCompletedEventHandler(object sender, scheduleConfExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class scheduleConfExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal scheduleConfExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public ConferenceInfoEx conferenceInfo
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((ConferenceInfoEx)(this.results[1]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void queryAdhocConferencesExCompletedEventHandler(object sender, queryAdhocConferencesExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class queryAdhocConferencesExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal queryAdhocConferencesExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public AdhocConferenceEx[] adhocConferences
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((AdhocConferenceEx[])(this.results[1]));
            }
        }

        /// <remarks/>
        public PagesInfoEx pageInfo
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((PagesInfoEx)(this.results[2]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void disconnectSitesExCompletedEventHandler(object sender, disconnectSitesExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class disconnectSitesExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal disconnectSitesExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void connectSitesExCompletedEventHandler(object sender, connectSitesExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class connectSitesExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal connectSitesExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void delSiteFromConfExCompletedEventHandler(object sender, delSiteFromConfExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class delSiteFromConfExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal delSiteFromConfExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    public delegate void scheduleRecurrenceConferenceExCompletedEventHandler(object sender, scheduleRecurrenceConferenceExCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class scheduleRecurrenceConferenceExCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal scheduleRecurrenceConferenceExCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
            base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public int Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }

        /// <remarks/>
        public RecurrenceConfInfoEx recurrenceConfInfo
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((RecurrenceConfInfoEx)(this.results[1]));
            }
        }
    }
}